The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Datacenters are becoming increasingly consolidated which introduces a number of challenges in managing application performance. In a consolidated environment with a number of applications co-running on any given platform or in virtualized environments such as those using software defined networking or network function virtualization, it can be difficult to predict and control the performance that a given thread will see using previously existing methods and technology. As server consolidation increases and virtual machine (VM) counts increase, sources of contention within the datacenter increase. These sources of contention may include contention between threads within a core, between threads on an level 2 (L2) cache, between threads for offcore bandwidth, between threads for interconnect bandwidth, between threads, accelerators, and input/output (JO) for level 3 (L3) cache space and bandwidth, between threads and accelerators for IO bandwidth, and between competing applications and flows over a network. These combined sources of contention increase the difficulty of performance prediction for a given workflow. This can have serious consequences when an end-user's view of an application is considered such as the response time of a smartphone application that communicates with a cloud services backend infrastructure. Additionally, the combined sources of contention can also cause substantial delay in the delivery of a webpage to a user, and can affect the perceived performance of cloud service offerings in general within the datacenter such as cloud-to-cloud compute deployments, for example.